package com.neusoft.neuiotms.dcam.fixed.vo;

import java.util.Date;

import javax.validation.constraints.NotBlank;

import org.hibernate.validator.constraints.Length;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.handler.inter.IExcelDataModel;
import cn.afterturn.easypoi.handler.inter.IExcelModel;
import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
public class AssetExportVO implements IExcelDataModel, IExcelModel {

    @NotBlank(message = "资产类型不能为空")
    @Length(max = 255, message = "资产类型不能超过{max}位")
    @Excel(name = "资产分类")
    private String assetTypeName;

    @Excel(name = "资产编号")
    private String code;

    @Excel(name = "资产名称")
    @NotBlank(message = "资产名不能为空")
    @Length(max = 255, message = "资产名不能超过{max}位")
    private String name;

    @Excel(name = "状态")
    private String statusDesc;

    @Excel(name = "规格型号")
    private String product;

    @Excel(name = "放置位置")
    private String locationName;

    @Excel(name = "管理部门")
    private String orgName;

    @Excel(name = "使用人")
    private String userName;

    @Excel(name = "计量单位")
    private String measureUnit;

    @Excel(name = "单价")
    private Double money;

    @Excel(name = "使用期限（月）")
    private Double month;

    @Excel(name = "资产来源")
    private String sourceDesc;

    /** 合同Code */
    @Excel(name = "合同编号")
    private String contractCode;

    @Excel(name = "合同名称")
    private String contractName;

    @Excel(name = "供应商")
    private String manufacturerName;

    @Excel(name = "供应商联系人", width = 12)
    private String manufacturerPerson;

    @Excel(name = "供应商联系方式", width = 12)
    private String manufacturerPhone;

    @Excel(name = "维保开始时间", width = 25, format = "yyyy-MM-dd HH:mm:ss")
    private Date maintenanceStart;

    @Excel(name = "维保结束时间", width = 25, format = "yyyy-MM-dd HH:mm:ss")
    private Date maintenanceEnd;

    @Excel(name = "维保负责人")
    private String maintenanceUserName;

    @Excel(name = "维保说明", width = 25)
    private String maintenanceNote;

    @Excel(name = "创建时间", width = 25, format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @Excel(name = "更新时间", width = 25, format = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 扩展属性1 */
    @Excel(name = "扩展属性1")
    private String ext1;

    /** 扩展属性2 */
    @Excel(name = "扩展属性2")
    private String ext2;

    /** 扩展属性3 */
    @Excel(name = "扩展属性3")
    private String ext3;

    /** 扩展属性4 */
    @Excel(name = "扩展属性4")
    private String ext4;

    /** 扩展属性5 */
    @Excel(name = "扩展属性5")
    private String ext5;

    private int rowNum;

    private String errorMsg;

    @Override
    public Integer getRowNum() {
        return this.rowNum;
    }

    @Override
    public void setRowNum(final Integer rowNum) {
        this.rowNum = rowNum;
    }

    @Override
    public String getErrorMsg() {
        return this.errorMsg;
    }

    @Override
    public void setErrorMsg(final String errorMsg) {
        this.errorMsg = errorMsg;
    }

}
